package com.resume.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Author: 梁云亮
 * @Date: 2021/7/17 9:28
 * @Describe:项目经验
 */
@ApiModel(value = "项目经验：Project")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "tb_project")
public class Project implements Serializable {
    private static final long serialVersionUID = -5795004683700766022L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "编号")
    private Integer id;

    /**
     * 项目名称
     */
    @TableField(value = "name")
    @ApiModelProperty(value = "项目名称")
    private String name;

    /**
     * 项目描述
     */
    @TableField(value = "intro")
    @ApiModelProperty(value = "项目描述")
    private String intro;

    /**
     * 项目网址
     */
    @TableField(value = "url")
    @ApiModelProperty(value = "项目网址")
    private String url;

    /**
     * 个人职责
     */
    @TableField(value = "duty")
    @ApiModelProperty(value = "个人职责")
    private String duty;

    /**
     * 所属公司
     */
    @TableField(value = "company")
    @ApiModelProperty(value = "所属公司")
    private String company;

    /**
     * 项目开始时间
     */
    @TableField(value = "start_time")
    @ApiModelProperty(value = "项目开始时间")
    private LocalDate startTime;

    /**
     * 项目结束时间
     */
    @TableField(value = "end_time")
    @ApiModelProperty(value = "项目结束时间")
    private LocalDate endTime;

    /**
     * 工程标签，JSON数组
     */
    @TableField(value = "tags")
    @ApiModelProperty(value = "工程标签，JSON数组")
    private String tags;

    /**
     * 状态：1显示，2不显示
     */
    @TableField(value = "status")
    @ApiModelProperty(value = "状态：1显示，2不显示")
    private Integer status;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;
}